Option Explicit
Dim NFiles As Integer, RFile(3) As String, MenuOpen As Integer, FNmenu As String
-----------------------
Sub RFile_Update(NewFile As String)
Dim I As Integer, J As Integer, InList As Integer
'Convert name to all upper case letters
NewFile = UCase$(NewFile)
'See if file is already in list
InList = 0
For I = 0 To NFiles - 1
  If RFile(I) = NewFile Then InList = 1: Exit For
Next I

'If file not in list, increment number of items with
'a maximum of 4.  Then, move others down, then place
'new name at top of list
If InList = 0 Then
  NFiles = NFiles + 1
  If NFiles > 4 Then
    NFiles = 4
  Else
    If NFiles = 1 Then mnuFileBar.Visible = True
    mnuFileRecent(NFiles - 1).Visible = True
  End If
  If NFiles <> 1 Then
    For I = NFiles - 1 To 1 Step -1
      RFile(I) = RFile(I - 1)
    Next I
  End If
  RFile(0) = NewFile
Else
'If file already in list, put name at top and shift
'others accordingly
  If I <> 0 Then
    For J = I - 1 To 0 Step -1
      RFile(J + 1) = RFile(J)
    Next J
    RFile(0) = NewFile
  End If
End If

'Set menu captions according to new list
For I = 0 To NFiles - 1
  mnuFileRecent(I).Caption = "&" + Format(I + 1, "# ") + RFile(I)
Next I

End Sub
------------------------
subForm-load
NFiles = 0: MenuOpen = 0
For I = 0 To 3
  Input #1, RFile(I)
  If RFile(I) <> "" Then
    NFiles = NFiles + 1
    mnuFileBar.Visible = True
    mnuFileRecent(I).Caption = "&" + Format(I + 1, "# ") + RFile(I)
    mnuFileRecent(I).Visible = True
  End If
NFiles = 0: MenuOpen = 0
RFile(0) = "": RFile(1) = ""
RFile(2) = "": RFile(3) = ""
frmWeight.Show
Call Init
End Sub
--------------------------
Private Sub mnuFileOpen_Click()
Dim I As Integer
Dim Today As Date
Dim Response As Integer
Dim File_To_Open As String
Response = MsgBox("Are you sure you want to open a new file?", vbYesNo + vbQuestion, "New File")
If Response = vbNo Then Exit Sub
If MenuOpen = 0 Then
  cdlFiles.Filter = "Files (*.wgt)|*.wgt"
  cdlFiles.DefaultExt = "wgt"
  cdlFiles.DialogTitle = "Open File"
  cdlFiles.Flags = cdlOFNFileMustExist + cdlOFNPathMustExist
  On Error GoTo No_Open
  cdlFiles.ShowOpen
  File_To_Open = cdlFiles.FileName
Else
  File_To_Open = FNmenu
End If
MenuOpen = 0
On Error GoTo BadOpen
Open File_To_Open For Input As #1
lblFile.Caption = File_To_Open
Call RFile_Update(File_To_Open)
Today = Format(Now, "mm/dd/yy")
---------------------------------
Private Sub mnuFileRecent_Click(Index As Integer)
  FNmenu = RFile(Index): MenuOpen = 1
  Call mnuFileOpen_Click
End Sub
--------------------------------
Private Sub mnuFileSave_Click()
Private Sub mnuFileSave_Click()
Dim I As Integer
cdlFiles.Filter = "Files (*.wgt)|*.wgt"
cdlFiles.DefaultExt = "wgt"
cdlFiles.DialogTitle = "Save File"
cdlFiles.Flags = cdlOFNOverwritePrompt + cdlOFNPathMustExist
On Error GoTo No_Save
cdlFiles.ShowSave
Open cdlFiles.FileName For Output As #1
lblFile.Caption = cdlFiles.FileName
Write #1, NumWts
For I = 1 To NumWts
  Write #1, Dates(I), Weights(I)
Next I
Close 1
Call RFile_Update(cdlFiles.FileName)
Exit Sub
No_Save:
Resume ExitLine
ExitLine:
Exit Sub
End Sub
